Trọng tâm của Giao diện tính toán đa dạng cho khả năng di chuyển (HIP) nằm ở khả năng trừu tượng hóa các công cụ phần cứng chuyên biệt thành một giao diện API thời gian chạy C++ thống nhất. Bằng cách sử dụng mô hình Mô hình nguồn đơn nhất, các nhà phát triển có thể duy trì một cơ sở mã nguồn duy nhất, được ánh xạ động tới nền tảng NVIDIA hoặc AMD.
1. Phân giải phần cứng dựa trên đường dẫn
Kiến trúc dựa vào các dấu hiệu môi trường để làm điểm định vị hướng dẫn cho hệ thống xây dựng. Những dấu hiệu này thông báo cho hipcc bộ bao bọc trình biên dịch nơi tìm kiếm thư viện thiết bị và tiêu đề cần thiết.
- CUDA_PATH: Điểm định vị chính cho bộ phận NVIDIA (quy trình NVCC/PTX).
- HIP_PATH: Điểm định vị chính cho bộ phận AMD ROCm (quy trình Clang/LLVM).
2. Trừu tượng hóa tầng tính toán
Khả năng di chuyển được đạt được bằng cách tách biệt lớp ứng dụng khỏi kiến trúc vi mô. Logic được xử lý tại thời điểm xây dựng bằng cách sử dụng hipcc, đảm bảo rằng việc duy trì mã nguồn với độ phức tạp $O(1)$ sẽ dẫn đến khả năng tương thích phần cứng với độ phức tạp $O(N)$.